===[经常用Excel制表的高手请进,请教问题]===

来源:百度知道 编辑:UC知道 时间:2024/05/22 00:22:22
我常常做表格,但有时会需要把同样的一行内容插入到每一行中间。当需要给别人回执单的时候,把表格撕成小条,上面共两行:一行项目名称,底下对应的具体数字。这样就必须把项目名称平均每行数字上都加一行,有几十行数字。
我都是先复制项目名称,再点住需要插入的数字行后点右键,再点插入复制单元格;这才完成一次插入行,而以下每一行中我都需要插入同样的一行单元格,得这样弄几十次,非常麻烦。

有没有简单一点的办法呢?
大家能看懂我的话吗?会的请一定要回复我啊,不胜感激!!!!
DKKim,谢谢,你的第二种方法我不适用,的确太浪费纸,而且每打一条就要筛选一次,反而麻烦。但第一种方法“用函数从数据源拷贝过来”什么意思?
我的做表是这样子的:一张总表:项止栏,余下每一行都是明细(这张做账用);因为要给别人回执条,所以需要做一个每个明细栏上面都有项目栏的表格,如你所述,我新建一个表,每隔一行复制一个表头(这一步还比较方便,用CTRL同时选好需要的栏数后一复制就上去了),然后就剩下拷数据源了,怎么用公式把我那几十行的明细数据拷到新建好的表中?而且还正好是复制在空白的行中哩?我看不懂呢……
请不吝赐教……

也谢谢lizhaoc,但如果复制好再填充,基本上是新做了一个表,也很麻烦。

给你一个公式,你试试一定行:

=IF(MOD(ROW(),3)=0,"",
IF(MOD(ROW(),3)=1,Sheet2!A$1,
INDEX(Sheet2!$A:$J,(ROW()+4)/3,COLUMN())))

1、把这个公式复制到回执条的工作表中的所有单元格内
2、把$A:$J换成你所需要的工作表的数据区域
3、把sheet2换成你的工作表的名称。

这个公式我在excel2000中试验通过。

如果你用不好这个公式,和我联系:
wezb1111@yahoo.com.cn

行数少的时候,ymxing188 - 秀才 二级 的方法确实很好用,但行数多时,建议用排序的方法(因为要按住ctrl键一个一个选很累人):
(1)原表数据加序号;
(2)复制序号,在后面空行粘贴;
(3)在任意一个空格输入0.5----复制----选定粘贴的序号----选择性粘贴(选“加”)----确定;
(4)复制标题行,在后面粘贴有序号的行相同位置粘贴,并填充(要保留序号);
(5)全选所有资料----排序----按序号排;
(6)删除序号。

最简单的方法,最实用的方法,最可行的方法
用宏

使用宏前请备份表格。以防设置行列数不准造成误操作。

Sub aa()
firstrow = 1 '表头在第几行
rowno = 1 '表头的数量,可能有2行或者3行
isblankrange = 3 ‘判断的依据,以哪列不为空为准。选择一列数据都不为空的
starrange = firstrow+rowno '数据开始行,如果不等于表头加表头行数,请输入
Do While Cells(starrange, isblankrange).Value <> 0
Rows(Trim(firstrow) & ":" & Trim(firstrow + rowno - 1)).